from multiprocessing import Process, Queue as ProcQueue
from threading import Thread
from queue import Queue as ThreadQueue
from asyncio import Queue as AsyncQueue
import asyncio


class MainServer(Process):

    def __init__(self):
        super(MainServer, self).__init__()
        self.__mainQueue = ThreadQueue(5)

        self.__threadProcess1 = None
        self.__threadProcess2 = None
        self.__threadProcess3 = None

    async def __task1(self):
        pass

    async def __task2(self):
        pass

    def __thread1(self):
        pass

    def __thread2(self):
        pass

    def __thread3(self):
        pass

    def run(self) -> None:
        self.__threadProcess1 = Thread(target=self.__thread1)
        self.__threadProcess2 = Thread(target=self.__thread2)
        self.__threadProcess3 = Thread(target=self.__thread3)
        self.__threadProcess1.start()
        self.__threadProcess2.start()
        self.__threadProcess3.start()

    def openServer(self):
        pass

    def closeServer(self):
        pass


if __name__ == '__main__':
    pass
